from building import *
from gcc import *
import rtconfig

cwd = GetCurrentDir()
src = ['dev_spi_core.c', 'dev_spi.c']
CPPPATH = [cwd, cwd + '/../include']
LOCAL_CFLAGS = ''

if GetDepend('RT_USING_SPI_BITOPS'):
    src += ['dev_spi_bit_ops.c']

if GetDepend('RT_USING_QSPI'):
    src += ['dev_qspi_core.c']

src_device = []

if GetDepend('RT_USING_SPI_WIFI'):
    src_device += ['dev_spi_wifi_rw009.c']

if GetDepend('RT_USING_ENC28J60'):
    src_device += ['enc28j60.c']

if GetDepend('RT_USING_SPI_MSD'):
    src_device += ['dev_spi_msd.c']

if GetDepend('RT_USING_SFUD'):
    src_device += ['dev_spi_flash_sfud.c', 'sfud/src/sfud.c']
    CPPPATH += [cwd + '/sfud/inc']
    if GetDepend('RT_SFUD_USING_SFDP'):
        src_device += ['sfud/src/sfud_sfdp.c']

    if rtconfig.PLATFORM in GetGCCLikePLATFORM():
        LOCAL_CFLAGS += ' -std=c99'
    elif rtconfig.PLATFORM in ['armcc']:
        LOCAL_CFLAGS += ' --c99'

if GetDepend('RT_USING_DM'):
    src += ['dev_spi_dm.c', 'dev_spi_bus.c']

src += src_device

group = DefineGroup('DeviceDrivers', src, depend = ['RT_USING_SPI'], CPPPATH = CPPPATH, LOCAL_CFLAGS = LOCAL_CFLAGS)

Return('group')
